package com.java.zhuiyun.api.front_desk_user.service;

import com.java.zhuiyun.api.alipay.controller.AliPay;
import com.java.zhuiyun.api.front_desk_user.entity.FrontDeskUser;
import com.java.zhuiyun.api.front_desk_user.model.FrontDeskUserModels;
import com.java.zhuiyun.common.response.CommonResult;
import com.java.zhuiyun.util.pageUtil.PageRequest;
import com.java.zhuiyun.util.pageUtil.PageResult;
import org.springframework.web.multipart.MultipartFile;

import java.time.LocalDate;
import java.util.Date;

/**
 * @InterfaceName FrontDeskUserService
 * @Description TODO 前台用户管理service层
 * @Author wuwan
 * @Date 2023/8/14 20:19
 **/
public interface FrontDeskUserService {
    /*
    * @Author wuwan
    * @Description 前台用户分页查询
    * @Date 2023/8/15 16:25
    * @Return
    * @param null
    */
    PageResult getFrontDeskUser(String frontDeskName, PageRequest pageRequest);
    /*
    * @Author wuwan
    * @Description 定时任务解封账号
    * @Date 2023/8/15 16:26
    * @Return
    * @param null
    */
    CommonResult updateAccount();
    /*
    * @Author wuwan
    * @Description 手动账号解封
    * @Date 2023/8/15 16:26
    * @Return
    * @param null
    */
    CommonResult updateAccountRelease(Integer id);

    /*
    * @Author wuwan
    * @Description 账号封禁
    * @Date 2023/8/15 16:26
    * @Return
    * @param null
    */
    CommonResult updateFrontDeskUser(Integer id,String  day);

    CommonResult queryById(Integer id);

    /*
     * @Author WX
     * @Description 查询个人信息
     * @Date 2023/8/31 9:00
     * @Return
     * @param id
     */
    FrontDeskUser selectUserbyId(Integer id);

    /*
     * @Author WX
     * @Description 修改个人信息
     * @Date 2023/8/31 9:00
     * @Return
     * @param FrontDeskUser MultipartFile
     */
    int updateUserById(FrontDeskUser frontDeskUser, MultipartFile file);
    /*
     * @Author WX
     * @Description 查询会员购买与普通购买的差价
     * @Date 2023/8/31 9:01
     * @Return
     * @param null
     */
    FrontDeskUserModels getUserMemberManager(Integer id);

    /*
    * @Author WX
    * @Description 修改用户会员状态
    * @Date 2023/8/31 10:08
    * @Return
    * @param aliPay
    */
    int updateMember(AliPay aliPay);

    /*
     * @Author WX
     * @Description 查询登录用户头像
     * @Date 2023/8/31 9:01
     * @Return
     * @param id
     */
    Integer getFrontUserImg(Integer id);

    /*
     * @Author WX
     * @Description 修改邮箱
     * @Date 2023/9/1 9:44
     * @Return
     * @param null
     */
    CommonResult updateUserByEmail(FrontDeskUser frontDeskUser);

    /*
     * @Author WX
     * @Description 修改手机号
     * @Date 2023/9/1 9:44
     * @Return
     * @param null
     */
    CommonResult updateUserByPhone(FrontDeskUser frontDeskUser);
}
